package com.party.course.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.party.common.annotation.Excel;
import com.party.common.core.domain.BaseEntity;
import lombok.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.util.List;

/**
 * 教练对象 coach_info
 *
 * @author ruoyi
 * @date 2025-05-29
 */
@Data
@TableName(value = "coach_info")
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class CoachInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * "关联用户id"
     */
    @Excel(name = "关联用户id")
    private String userId;

    /**
     * "关联角色id"
     */
    @Excel(name = "关联用户id")
    private String roleId;

    /**
     * "角色类型": 0:教练 1：交付小组组长  2：学管师
     */
    @Excel(name = "角色类型")
    private String roleType;

    /**
     * "姓名"
     */
    @Excel(name = "姓名")
    private String name;

    /**
     * "手机号"
     */
    @Excel(name = "手机号")
    private String phone;

    /**
     * "所学专业"
     */
    @Excel(name = "所学专业")
    private String specialty;

    /**
     * "性别"
     */
    @Excel(name = "性别")
    private String sex;

    /**
     * "性格特点"
     */
    @Excel(name = "性格特点")
    private String personality;

    /**
     * "授课方式"
     */
    @Excel(name = "授课方式")
    private String teachMethod;

    /**
     * "毕业院校"
     */
    @Excel(name = "毕业院校")
    private String graduate;

    /**
     * "岗位类型"
     */
    @Excel(name = "岗位类型")
    private String position;

    /**
     * "是否能试课"
     */
    @Excel(name = "是否能试课")
    private String isTestClass;

    /**
     * "交付小组id"
     */
    @Excel(name = "交付小组id")
    private String payGroupId;

    /**
     * "交付小组id"
     */
    @Excel(name = "交付小组id")
    private String payGroupName;

    /**
     * "学管师id"
     */
    @Excel(name = "学管师id")
    private String learnId;

    /**
     * "学管师名称"
     */
    @Excel(name = "学管师名称")
    private String learnName;

    /**
     * "课程分类id"
     */
    @Excel(name = "课程分类id")
    private String classTypeId;

    /**
     * "课程分类名称"
     */
    @Excel(name = "课程分类名称")
    private String classTypeName;
    /**
     * 所属学段：0小学，1初中，2高中
     */
    @Excel(name = "所学教段")
    private String teachSection;

    /**
     * "三方支付商户号"
     */
    @Excel(name = "三方支付商户号")
    private String ledgerNo;

    /**
     * "是否可用"
     */
    @Excel(name = "是否可用")
    private String isUse;

    private String delFlag;

    /**
     * 企微通讯录人员id即企微账号
     */
    @Excel(name = "企微通讯录人员id即企微账号")
    private String wxUserId;

    /**
     * 教练等级
     */
    @TableField(exist = false)
    private String levelName;

    /**
     * 支付中心编号
     */
    @TableField(exist = false)
    private String paCenterCode;

    /**
     * 支付中心名称
     */
    @TableField(exist = false)
    private String paCenterName;

    /**
     * 代理课程
     */
    @TableField(exist = false)
    private String agentCourse;

    /**
     * 正式课程
     */
    @TableField(exist = false)
    private String formalCourse;

    /**
     * 是否绑定交付小组: 0:是 1：否
     */
    @TableField(exist = false)
    private String isPayGroup;

    /**
     * 教练时间
     */
    @TableField(exist = false)
    private List<CoachTime> coachTimes;

    /**
     * 是否查询没绑定交付小组的教练
     */
    @TableField(exist = false)
    private String isNotGroup;

    /**
     * 教练ids
     */
    @TableField(exist = false)
    private List<CoachInfo> memberIdsList;

    /**
     * 学员姓名
     */
    @TableField(exist = false)
    private String stuName;
    /**
     * 学员编号
     */
    @TableField(exist = false)
    private String stuCode;
    /**
     * 上课时间
     */
    @TableField(exist = false)
    private String upClassTime;
    /**
     * 金额
     */
    @TableField(exist = false)
    private String amount;
    /**
     * 备注-工资类型
     */
    @TableField(exist = false)
    private String remark;
    /**
     * 有效时间
     */
    @TableField(exist = false)
    private String validTime;


}
